﻿using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Text;
using System.Windows.Forms;
using QLNhaSach.BUS.DTO;
using QLNhaSach.BUS;

namespace QLNhaSach.GUI.NhanVienQuanLy
{
    public partial class ThayDoiQuyDinh : Form
    {
        DataTable dt = new DataTable();

        public ThayDoiQuyDinh()
        {
            InitializeComponent();
        }

        private void ClearForm()
        {
            txtMaQD.Clear();
            txtMoTaQD.Clear();
            txtGiaTriCu.Clear();
            txtGiaTriMoi.Clear();
            rbTrue.Select();
            txtMaQD.Focus();
        }

        private void ThayDoiQuyDinh_Load(object sender, EventArgs e)
        {
            dt = NhanVienQuanLyBUS.DSQD();
            lvDSQuyDinh.Items.Clear();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dt.Rows[i];
                ListViewItem lst = new ListViewItem();
                lst.Text = dr["id"].ToString();
                lst.SubItems.Add(dr["MaQD"].ToString());
                lst.SubItems.Add(dr["GiaTri"].ToString());
                lst.SubItems.Add(0.ToString());
                lst.SubItems.Add(dr["TinhTrang"].ToString());
                lvDSQuyDinh.Items.Add(lst);
            }
        }

        private void lvDSQuyDinh_SelectedIndexChanged(object sender, EventArgs e)
        {
            int index = lvDSQuyDinh.FocusedItem.Index;
            txtMaQD.Text = dt.Rows[index][1].ToString();
            txtMoTaQD.Text = dt.Rows[index][3].ToString();
            txtGiaTriCu.Text = dt.Rows[index][2].ToString();
            if (Convert.ToInt32(dt.Rows[index][4]) == 1)
                rbTrue.Select();
            else
                rbFalse.Select();
        }

        private void btnHuy_Click(object sender, EventArgs e)
        {
            ClearForm();
        }

        private void btnDong_Click(object sender, EventArgs e)
        {
            this.Close();
        }

        private void btnCapNhat_Click(object sender, EventArgs e)
        {
            if (txtMaQD.Text == "" )
            {
                MessageBox.Show("Hãy chọn một quy định cần sửa");
                return;
            }
            int index;
            try
            {
                index = lvDSQuyDinh.FocusedItem.Index;
            }
            catch
            {
                MessageBox.Show("Bạn cần nhập một quy định để thay đổi");
                return;
            }
            QuyDinhDTO qd = new QuyDinhDTO();
            qd.id = Convert.ToInt32( dt.Rows[index][0]);
            qd.MaQD = dt.Rows[index]["MaQD"].ToString();
            qd.MoTa = txtMoTaQD.Text;
            qd.GiaTri = Convert.ToInt32( txtGiaTriMoi.Text);
            if (rbTrue.Checked)
                qd.TinhTrang = 1;
            else
                qd.TinhTrang = 0;
            if (NhanVienQuanLyBUS.CapNhatQD(qd) == NhanVienQuanLyBUSResult.DAOERROR)
            {
                MessageBox.Show("Loi CSDL !! Khong The Cap Nhat");
            }
            else
            {
                MessageBox.Show("Cap Nhat Thanh Cong !");
                ThayDoiQuyDinh_Load(sender,e);
                ClearForm();
            }
        }

        private void btnTimKiem_Click(object sender, EventArgs e)
        {
            if (txtMaQD.Text == "")
            {
                MessageBox.Show("Mã quy định chưa nhập");
                txtMaQD.Focus();
                return;
            }
            string sql = "SELECT * FROM QuyDinh WHERE (MaQD LIKE '%" + txtMaQD.Text + "%')";
            dt = NhanVienBanSachBUS.TimSach(sql);
            lvDSQuyDinh.Items.Clear();
            for (int i = 0; i < dt.Rows.Count; i++)
            {
                DataRow dr = dt.Rows[i];
                ListViewItem lst = new ListViewItem();
                lst.Text = dr["id"].ToString();
                lst.SubItems.Add(dr["MaQD"].ToString());
                lst.SubItems.Add(dr["GiaTri"].ToString());
                lst.SubItems.Add(0.ToString());
                lst.SubItems.Add(dr["TinhTrang"].ToString());
                lvDSQuyDinh.Items.Add(lst);
            }
        }
    }
}